#define _CRT_SECURE_NO_WARNINGS 1

//#include<iostream>
//#include<vector>
//
//using namespace std;
//
//const int N = 15;
//
//int f[N][10];
//
//void init()
//{
//    for (int i = 0; i <= 9; i++)   f[1][i] = 1;
//    for (int i = 2; i < N; i++)
//        for (int j = 0; j <= 9; j++)
//            for (int k = 0; k <= 9; k++)
//                if (abs(j - k) >= 2)
//                    f[i][j] += f[i - 1][k];
//}
//
//int dp(int n)
//{
//    if (!n)  return 0;
//
//    vector<int> nums;
//    while (n)    nums.push_back(n % 10), n /= 10;
//
//    int res = 0;
//    int last = -2;
//    for (int i = nums.size() - 1; i >= 0; i--)
//    {
//        int x = nums[i];
//        for (int j = i == nums.size() - 1; j < x; j++)
//            if (abs(j - last) >= 2)
//                res += f[i + 1][j];
//
//        if (abs(last - x) >= 2)    last = x;
//        else break;
//
//        if (!i)  res++;
//    }
//
//    for (int i = 1; i < nums.size(); i++)
//        for (int j = 1; j <= 9; j++)
//            res += f[i][j];
//    return res;
//}
//
//int main()
//{
//    init();
//    int l, r;
//    scanf("%d%d", &l, &r);
//
//    cout << dp(r) - dp(l - 1) << endl;
//    return 0;
//}

#include<iostream>
#include<vector>
#include<cstring>

using namespace std;

const int N = 11, M = 110;

int f[N][10][M];
int m;

int mod(int x, int y)
{
    return (x % y + y) % y;
}

void init()
{
    memset(f, 0, sizeof f);
    for (int i = 0; i <= 9; i++)   f[1][i][i % m]++;

    for (int i = 2; i < N; i++)
        for (int j = 0; j <= 9; j++)
            for (int k = 0; k < m; k++)
                for (int x = 0; x <= 9; x++)
                    f[i][j][k] += f[i - 1][x][mod(k - j, m)];
}

int dp(int n)
{
    if (!n)  return 1;
    vector<int> nums;
    while (n)    nums.push_back(n % 10), n /= 10;

    int res = 0;
    int last = 0;
    for (int i = nums.size() - 1; i >= 0; i--)
    {
        int x = nums[i];
        for (int j = 0; j < x; j++)
            res += f[i + 1][j][mod(-last, m)];
        last += x;

        if (!i && last % m == 0) res++;
    }
    return res;
}

int main()
{
    int l, r;
    while (cin >> l >> r >> m)
    {
        init();
        printf("%d\n", dp(r) - dp(l - 1));
    }
    return 0;
}